#ifndef PCH_H
#define PCH_H
//STL Includes
#include <string>
#include <vector>
#include <memory>
#include <fstream>
#include <sstream>

//Windows Includes
#include <windows.h>

//DirectX Includes
#include <D3DCommon.h>
#include <dxgi.h>
#include <d3d11.h>
#include <D3DX11.h>
#include <xnamath.h>
#include <D3Dcompiler.h>

#include "DeSmartPointer.h"

//DirectX library
#pragma comment(lib, "d3d11.lib")
#pragma comment(lib, "d3dx11.lib")
#pragma comment(lib, "dxgi.lib")
#pragma comment(lib, "d3dcompiler.lib")

#define SAFE_RELEASE(x) {if(x) {(x)->Release(); (x)=NULL;}}
#define SAFE_DELETE( x ) {if(x){delete (x);(x)=NULL;}}
#define SAFE_DELETE_ARRAY( x ) {if(x){delete[] (x);(x)=NULL;}}

#define _WIN32 1

typedef unsigned int uint;
typedef unsigned long dword;


//STL TYPE DEFINE

#endif